DCOM95 1.3 Sürüm Notları Son Değişiklik: 14 Eylül 1998 DCOM95, Microsoft® Windows® 95 için Distributed COM desteği sağlar. DCOM tel iletişim kuralları açıkça, ActiveX® denetimleri, simgeleri gibi Component Object Model (COM) bileşenleriyle LAN, WAN ya da Internet'teki farklı makinelerde yerleşik olan Java uygulama parçaları arasında, güvenilir, güvenli ve verimli iletişim desteği sağlar. DCOM ile, alıcılara ve uygulamalara en yüksek algılama düzeyi veren yerleşimler boyunca kendi uygulamalarınız dağıtılabilir. Daha ayrıntılı bilgi için bkz. Microsoft COM ana sayfasında DCOM Technical genel bakış konusu, http://www.microsoft.com/com/. İçindekiler =========== I. Yeni Özellikler II. Hata Düzeltmeleri III. Bilinen Sorunlar IV. Windows NT'deki DCOM Farklılıkları V. Yeniden Dağılım VI. Destek & Kaynaklar VII. Dosya Listesi I. Yeni Özellikler ------------------ DCOM95'in Daha Eski Sürümleriyle Değiştirilmesi Yasaklanmıştır DCOM95'in önceki yayınında, DCOM95'in daha yeni bir sürümünü, DCOM95'in daha eski bir sürümünün yerine koyabilirdiniz. Artık sürüm numaraları yükleme sırasında denetleniyor ve yeni bir sürüm yerine eski bir sürümü yüklemenize olanak verilmiyor. Bu değişiklik DLL dosyalarının uyumsuz sürümleri nedeniyle ortaya çıkacak sorunlarından kaçınılmasını sağlayacaktır. Visual Studio 6.0 İzleme Desteği işlemi Visual Studio 6.0'ın desteğinde, DCOM95 geliştiricilere, uygulamalarının yapısı, başarımı ve davranışını anlamalarına yardım etmek için izleme bilgisi sağlar. Windows 95 çalıştıran bir bilgisayarda Visual Studio Analyzer kullanıyorsanız, daima DCOM95'in de bu sürümünü kullanmalısınız. Kur Tarafından Oluşturulan Yeni Dizin Kur programı, sistem dizininizin altında DCOM95 adlı bir dizin oluşturur. Son kullanıcı lisans anlaşması ve diğer dosyalar burada saklanır. Aynı zamanda, eski DCOM95 ve OLE ikililerinin yedeklendiği bir DCOM95 alt dizini olan OLDOLE de Kur tarafından oluşturulur. Bu dosyalar, DCOM95'i sonradan kaldırdığınızda geri yüklenecektir. COM Internet Services COM Internet Services (CIS) istemci ve sunuculara COM kullanarak Internet üzerinde bağlanma olanağı verir. CIS içeriği: * Tünelli TCP, yeni bir iletişim kuralı * OBJREF takma adı, yeni bir takma ad türü * Yeni bir CISCNFG yardımcı uygulaması Windows 95'te CIS istemci desteği için hem DCOM95'i, hem de DCOMCFG'yi yüklemeniz gerekecektir. Sonra, uzak işlemlerde hangi iletişim kuralının kullanılacağını tanımlayan kayıt tuşunu değiştirmek için DCOM yapısı yardımcı uygulamasını yüklerken yüklenen CISCNFG aracını kullanın. Komut Bilgi İstemi penceresinde şunu girin: ciscnfg olduğu yerlerde: * RPC kullanmak için rpc * HTTP kullanmak için http * Önce TCP, sonra da sunucu zaman aşımındaysa HTTP denemek için tcp_http ciscnfg komutu değişken olmadan kullanım bilgileri sağlar. Tünelli TCP iletişim kuralları kullanmak için SDK güncelleştirmesi gerekmez. OBJREF takma adları için çok az güncelleştirme var. CreateObjrefMoniker Bir nesnenin işaretleyicisi üzerine kurulu OBJREF takma adı oluşturur. WINOLEAPI CreateObjrefMoniker( LPUNKNOWN pUnk, //Nesne işaretleyicisi LPMONIKER *ppMk //OBJREF takma adı işaretleyici adresi ); Parametreler pUnk Takma adı olan bir nesnedeki IUnknown arabirim işaretleyicisi. ppMk Oluşturulmuş OBJREF takma adındaki IMoniker arabirim işaretleyicisi adresi. Dönüş Değerleri Bu işlev E_OUTOFMEMORY ve E_UNEXPECTED dönüş değerlerini destekler. En az aşağıdaki kadar: S_OK OBJREF takma adı başarıyla oluşturuldu. Açıklamalar İstemciler, sunucu adres boşluğundaki çalışan nesnede sıralı işaretleyiciler elde etmek için OBJREF takma adı kullanır. Sunucu OBJREF takma adı oluşturmak için genellikle CreateObjrefMoniker kullanır. Sonra IMoniker::GetDisplayName çağırır; sonunda da takma adı kaldırır. Bir OBJREF takma adı için görünen ad aşağıdaki şekilde olmalıdır: OBJREF:nnnnnnnn nnnnnnnn, isteğe bağlı olarak makine konumunu, son noktayı ve çalışan nesnenin arabirim işaretleyicisi kimliğini (IPID) içeren uzun bir 64 tabanlı kodlamadır. Görünen ad istemciye metin şeklinde de iletilebilir. Örneğin, görünen ad istemcinin yüklediği HTML sayfasında yer alabilir. İstemci, görünen ada bağlı OBJREF takma adı oluşturan MkParseDisplayName'e görünen adı geçirebilir. Takma adın IMoniker::BindToObject yöntemine çağrı yapıldıktan sonra sunucuda çalışan örnek için dizili işaretleyici elde edilir. Örneğin, etkin sunucu sayfasında içerilen sunucu tarafındaki COM bileşeni OBJREF takma adı oluşturabilir; kendi görünen adını elde edebilir ve istemci görüntüleyicisine gönderilen HTML sayfasına görünen adını yazabilir. İstemci tarafında çalışan simge, çalışan nesnenin kendisine erişim alabilmek için görünen adı kullanabilir. İstemci tarafındaki Visual Basic simgesi, görünen adı strMyName adlı değişkende saklayabilir. Bu değişken aşağıdaki satırda yer alır: objMyInstance = GetObject(strMyName) Simge tekniği MkParseDisplayName ve IMoniker::BindToObject için iç çağrı yaptırır. Daha sonra, çalışan nesneye doğrudan başvurmak için, simge objMyInstance'ı kullanabilir. Çalışan nesne sabit IPID'ler kullanıyorsa ve sunucu işlemi bilinen son noktadaki, hep aynı bilgisayarda çalışıyorsa OBJREF takma adının görünen adı hep aynı olacaktır. Bu durumda sunucu, nesne için istek aldığında her seferinde tekrar hesaplamak yerine görünen adı saklayacaktır. IMoniker - OBJREF Takma Adı Gerçekleştirme OBJREF takma adları işlem dışında işleyen yerel ya da uzak nesne örneğine başvuru gösterir. Takma ad örnek nesneyi ve nesnenin çalıştığı bilgisayarı tanımlar. OBJREF takma adı, çalışan nesne işlem dışı olmadıkça, çoğunlukla işaretleyici takma adla aynıdır. İstemci OBJREF takma adındaki IMoniker::BindToObject'i çağırabilir ve yerleşimini gözardı ederek çalışan nesneye erişimi varsa işaretleyiciyi kullanabilir. İşaretleyici takma addan önemli farkı, OBJREF takma adının HTML sayfasına katılabilmesidir. Çalışan nesne de bir istemci simgesi, uygulama parçası ya da ActiveX denetimine bağlı olabilecek takma adla gösterilebilir. Kullanırken OBJREF takma adının temel kullanımı, Internet üzerindeki çalışan nesne örneğine erişim elde etmektir. Etkin sunucu sayfası ya da devingen HTML oluşturan herhangi bir araç, uygulama parçası ya da ActiveX denetim parametresinde OBJREF takma adının görünen ad alanını içerir. Uygulama parçası ya da denetim kodu, görünen ad temelinde OBJREF takma adı oluşturmak için CreateObjrefMoniker çağırır. Sonra çalışan nesne örneği erişimi almak için sonuçlanan OBJREF takma adı üzerinden IMoniker::BindToObject çağırır. Etkin sayfadan sonra çalışan nesnenin işaretleyici dizileri istemci sayfasına geri döner. Açıklamalar IMoniker::BindToObject. OBJREF takma adları için pmkToLeft parametreleri NULL olmalıdır. OBJREF takma adı çalışan nesneyi gösterdiği için etkinlik yoktur. Gösterilen nesne çalışmıyorsa BindToObject, E_UNEXPECTED ile başarısız olacaktır. IMoniker::BindToStorage. Bu yöntem, çalışan nesneyi içeren bellekteki istenen arabirimden dizili işaretleyici alır. OBJREF takma adı çalışan nesneyi gösterdiği için etkinlik yoktur. Gösterilen nesne çalışmıyorsa BindToObject, E_UNEXPECTED ile başarısız olacaktır. IMoniker::Reduce. Bu yöntem MK_S_REDUCED_TO_SELF'e döner ve aynı takma ada geri döner. IMoniker::ComposeWith. pmkRight takma ad karşıtıysa dönen takma ad NULL olacaktır. pmkRight en soldaki bileşeni takma ad karşıtı olan bir bileşkeyse, dönen takma ad, en soldaki takma ad karşıtı kaldırılmış bileşen olacaktır. pmkRight ne takma ad karşıtı, ne de en soldaki bileşeni takma ad karşıtı olan bir bileşkeyse yöntem fOnlyIfNotGeneric parametresini denetleyecektir. FALSE ise, yöntem iki takma adı genel bir bileşkede birleştirir. TRUE ise, yöntem, Null'a *ppmkComposite yerleştirir ve MK_E_NEEDGENERIC' e geri döner. IMoniker::Enum. Bu yöntem S_OK'e döner ve NULL'a ppenumMoniker yerleştirir. IMoniker::IsEqual. Bu yöntem, *pmkOther OBJREF takma adıysa ve her iki takma ad da özdeşse (duyarsız karşılaştırma kullanarak) S_OK'e döner. Başka koşullarda yöntem S_FALSE'a döner. IMoniker::Hash. Bu yöntem takma adların karma değerini hesaplar. IMoniker::IsRunning. OBJREF takma adları çalışan nesne örneği gösterdiği için, son çağrının başarısızlığı nedeniyle nesnesinin çalışmadığı biliniyorsa bu yöntem TRUE'ya döner. Yöntem pmkToLeft'i gözardı eder. IMoniker::GetTimeOfLastChange. Bu yöntem E_NOTIMPL'e döner. IMoniker::Inverse. Bu yöntem takma ad karşıtına döner (örneğin, CreateAntiMoniker çağrısı sonuçları). IMoniker::CommonPrefixWith. İki takma ad eşit olduğunda, bu yöntem MK_S_US'a döner ve NULL'a *ppmkPrefix yerleştirir. Diğer takma ad OBJREF takma adı değilse, yöntem her iki takma adı da MonikerCommonPrefixWith işlevine geçirir. Bu işlev, diğer takma adın bir soysal bileşik olduğu yerde işlemi düzgün işler. Yaygın bir önek yoksa bu yöntem MK_E_'e döner. IMoniker::RelativePathTo. Bu yöntem E_NOTIMPL'e döner. IMoniker::GetDisplayName. Bu yöntem OBJREF takma adı için görünen ad elde eder. Bu görünen ad makine yerini, son nokta işleyişini ve çalışan nesnenin arabirim işaretleyici kimliğini (IPID) kapsülleyen 64 bitlik kodlamadır. Gelecekteki uyumluluk için, URL bölümü gibi belirlenme olasılığına karşı, karakterler sınırlandırılmıştır. IMoniker::ParseDisplayName. pmkToLeft NULL değilse, Bu yöntem MK_E_SYNTAX'a döner. IMoniker::IsSystemMoniker. Bu yöntem S_OK'e döner ve MKSYS_OBJREFMONIKER'a geri döner. VB6.0 Veri Türleri Desteği Visual Basic® 6.0 kullanıcı tanımlı veri yapılarını kapsamak için Visual Basic değişkenlerini benimser. DCOM95 artık bu değişkenleri uzaktan da desteklemektedir. II. Hata Düzeltmeleri ---------------------- Birden Çok Modülü Kaldırırken Çalışma Koşulları Birden çok modül eşzamanlı kaldırıldığında DCOM95'in eski sürümlerinde bir çalışma koşulu oluşabiliyordu. Modüllerin kaldırıldığı komuta bağlı olarak bir erişim bozukluğuyla sonuçlanabiliyordu. DCOM95'in elinizdeki sürümünde bu düzeltildi. RPC İletişim Kuralları Anlaşması Süresince Masaüstü Tepkisizliği DCOM95'in eski sürümleri RPC iletişim kuralları anlaşması süresince iletileri dağıtmıyordu. Bazı durumlarda, RPC iletişim kuralları anlaşma aşaması dönemindeyken kullanıcı başka bir uygulama başlattıysa makine tepkisiz kalabiliyordu. 30 saniye sonra ileti işlemi sonuçlanıyordu. Bu davranış DCOM95'in son sürümünde değiştirilerek uygulamanın, RPC iletişim kuralları anlaşma aşaması döneminde başlatılması sağlandı. Yeni Uygulama Başlatılırken Masaüstü Tepkisizliği RPC, her bir DCOM belirtimi için iletileri dağıtmak üzere gerekmeyen Birden Çok Kullanım Odası'nda (MTA) gizli bir pencere oluşturur. Kullanıcı masaüstünden bir uygulama başlattığında, Windows tanımlı tüm diğer pencerelere, bu işlemi haber vererek ve yanıt bekleyerek bir ileti gönderir. DCOM95'in eski sürümlerinde gizli RPC penceresi yanıtlamayabiliyordu ve Windows engelleniyordu. DCOM95'in elinizdeki sürümü bu sorun üzerinde yoğunlaştı ve yeni bir uygulama başlatıldığında artık RPC penceresi masaüstünü tepkisiz bırakmıyor. Birden Çok IP Yığılma Bozukluğunu Adresliyor Bazı koşullarda, IP adresi birden fazla olan bir makinede DCOM95'in önceki sürümlerinden birini çalıştırıyorsanız IP adresi arabelleği aşılabilir ve yığılma bozulabilir. DCOM95'in son sürümünde bu sorun üzerinde yoğunlaşıldı. Yalnızca İlk IP Adresi Kullanıldı İki ağ bağdaştırıcı kartı olan (böylece, her biri farklı adres kartına atanmış iki IP adresi olacaktır) bir makinede DCOM95'in önceki sürümlerinden birini kullandıysanız, DCOM95 yalnızca bir ağ bağdaştırıcısını kullanabilirdi. DCOM95'in elinizdeki sürümünde biri çalışmıyorsa diğeri kullanılacaktır. RPC Artık Birden Çok IP Adresini Deniyor Birden çok adresi olan bir makineye uzaktan çağrı işlemi yapıldığında, Bağlantı yapılan ilk IP adresi başarısız olsa bile, birbirini izleyen IP adresleri artık denenebiliyor. Dosya Takma Adları Ek Sözdizimi Yollarını Destekliyor Dosya takma adları artık, "C:\bug\bug\..\..\foo.jpg." gibi biçiminde bağımsız değişkenler olmadan da oluşturulabiliyor. DCOM95 1.1'de yalnızca göreli yollar (örneğin, "..\..\foo.jpg") ya da mutlak yollar (örneğin, "C:\foo.jpg") izinliydi. Oleaut32.dll Kaldırıldığında Genel Koruma Hatası DCOM95'in önceki sürümlerinde, CoUninitialize çağırılmadan önce Oleaut32.dll kaldırıldığında genel bir koruma hatası oluşuyordu. Bu da çoğunlukla, VB uygulaması durağan olarak Oleaut32.dll'e bağlı olan bir denetim oluşturduğunda gerçekleşiyordu ve CoUninitialize çağırmak için denetim önceliğini serbest bırakılıyordu. DCOM95'in son sürümünde bu, genel koruma hatasına neden olmuyor. Visual Basic Türünde Dizilme ve Dizilmeme Bazı Visual Basic veri türlerinin dizilmesi ve dizilmemesi düzeltildi. 64K'dan büyük dizi parametreleri artık geçerli. Artık, düzgün dizilme ve dizilmeme türünün diğer adları kullanılarak yapılar tanımlanmıştır. OleUninitialize Sırasında Bir Çok Kez Silinen Tek Veriler Bu hata, OleInitialize ve OleUninitialize birden çok kez çağıran uygulamalarda görülüyordu. İlk kullanıma hazırlama sırasında OLE, DDE RPC'ye birçok tek veri ekler. Tek veriler başka bir kullanım tarafından eklenmişse, yeniden eklenmez. Başlangıç durumuna getirmeme sırasındaysa tek veriler daima silinse de tanıtıcılar boşaltılamıyordu. Bu nedenle, OleInitialize bir sonraki çağırılışında tek veriler siliniyor fakat eski tanıtıcılar hala varlıklarını sürdürüyordu. Hatta, tek veriler silindiğinden, bunlara OLE eklenemiyordu. Bu da, birden çok kez OleInitialize ve OleUninitialize çağırılışından sonra OLE tek verilerinin geçersiz olmasına neden oluyordu. DCOM95'in elinizdeki sürümünde bu sorun üzerinde yoğunlaşıldı. ADO Sunucularının Düzgün Kapanması Etkin Veri Nesneleri (ADOs) sunucu işlemini başlatmak için işaretleyici takma adı kullanır. DCOM95'in önceki sürümleri, işaretleyici takma adında başvuru sayısı kullanırken bir hata içeriyor. İşaretleyici takma adları oluşturan başlangıç başvuru sayıları 0 ile değil 1 ile başlıyordu. Böylece, işaretleyici takma adların başvuru sayısında sıfır hiç olmuyor ve işaretleyici takma adı hiç serbest kalmıyordu. Sonuç olarak, ADO sunucuları, bunların son işaretleyicisi işlediğinde bile kapanamıyordu. DCOM95'in elinizdeki sürümünde bunun üzerinde yoğunlaşıldı. CoCreateInstance Kendi DNS adıyla Çalışıyor DCOM95'in önceki sürümlerinde, yerel makinenin nitelenmiş adıyla CoCreateInstance çağırma çalışmıyordu. DCOM95'in elinizdeki sürümünde bunun üzerinde yoğunlaşıldı ve artık CoCreateInstance yerel makinede düzgün oluşturuluyor ve örnekleniyor. Çok Büyük Bileşik Dosyalı Kök Depolamada Yavaş Üstlenme DCOM95'in eski sürümlerinde, STGM_TRANSACTED kipinde açılan kök depolamadaki üstlenme süresi, bileşik dosya büyük olduğunda (örneğin, 400M) çok yavaşlardı. İç sayfa tablo sınırları yükseltilerek bu sorun aşıldı. Yeniden Oluşturulan MTA'dan Nesne Aktarma DCOM95'in önceki sürümlerinde sunucu, İşlemde Birden Çok Kullanım Odası (MTA) ilk kez oluşturulmuyorsa, MTA'den nesne aktaramıyordu. Bu düzeltildi. Artık sunucu MTA oluşturuyor, yıkıyor ve sıralı olarak yeniden MTA oluşturuyorsa MTA'den nesne aktarılabilecek. Visual Basic 4 EXE'lerin Birden Çok Örneği DCOM95 v1.1'de, aynı Visual Basic 4 çalışma dosyalarının birden çok kopyasını başlatır ve sonra bunları LIFO (Last-In First-Out/Son Giren İlk Çıkar) sırasıyla değil herhangi bir sırayla kapatırsanız, son exe asılı kalıyordu. Bu aynı zamanda Microsoft Exchange'de E-Form'ların doğrusuydu. DCOM95'in son sürümünde bunun üzerinde yoğunlaşıldı. Artık Visual Basic 4 exe'lerini her şekilde kapatabilirsiniz. Visual Basic Dosya Adlarında Genişletilmiş Karakterler Belli bir dil için genişletilmiş karakterler kullanarak Visual Basic modül ya da sınıfını adlandırdıysanız, bu dosya, farklı bir yerde biçimlendirilmiş makinede açılmayabilir. Bunun üzerinde yoğunlaşıldı. III. Bilinen Sorunlar --------------------- Corel WordPerfect Suite 7: Yükleme Geçersiz Sayfa Hatasına Neden Oluyor DCOM95 çalıştıran Windows 95 sisteminde Corel WordPerfect Suite 7 kurduğunuzda, kurma süresince PfOd70.pfc'de geçersiz bir sayfa elde edebilirsiniz. Bu hata ortaya çıktığında hemen iletişim kutusundaki hata iletisini kapayın. Kurma başarıyla devam edecektir. Microsoft Access95: Veritabanı Kopyalaması Çalışmıyor DCOM95 kurulu bir makinede Microsoft Access 95 kullanarak veritabanı Access'i kopyalamayı denerseniz aşağıdaki hata iletisini alacaksınız: Microsoft Access bu işlemi sonuçlandıramıyor çünkü Msjtrclr devingen bağlı kütüphanesini bulamıyor ya da başlatamıyor. Bu, Microsoft Access 95'te bir sorundur. Bu sorunu, kopyalama aracından çok Access nesne modelini kullanan bir program yazarak ya da kopyalamanın evrak çantasını kullanarak aşabilirsiniz. Microsoft Access 97 bu sorundan etkilenmemektedir. WordPerfect Katıştırılmış Corel elektronik tablosu içeren bir WordPerfects belgeniz varsa ve bu elektronik tablo başka bir katıştırılmış nesne (örneğin, bit eşlem belgesi) içeriyorsa, en içteki nesneleri kapatırken ağ bağlantınızı kaybedebileceğinizi bildiren bir uyarı iletisi alabilirsiniz. Buna benzer dört ya da beş uyarı vardır. Bu uyarıların tümü kötü sonuç vermeyenlerdendir. Hemen kapatın ve devam edin. DDE iletilerini Engelleyebilecek Dönüşüm Yordamları Kullanan Birden Çok Kullanım Odası (MTA) İstemcileri BSTR dönüşüm yordamlarını (örneğin, BstrFromR4) otomatikleştirme yordamı olanaklı kılmak için gizli pencere oluşturur. Bu pencereler Windows ileti kuyruğuna hizmet etmez. Bir MTA istemcisinden kaynaklanan böyle bir pencere oluştuğunda, DDE iletileri engellenebilir. İstemci kullanımı, MTA programlı model altında ileti kuyruğuna hizmet etmek zorunda değildir. Böyle yapmazsa, bu üst düzey pencere, genel yayın iletilerinin durdurulmasına neden olur. Bu durumda çalışmak için iki yol vardır. Ya tek kullanım odalı (STA) istemciden kaynaklanan BSTR dönüşüm yordamlarını çağırmak, ya da istemcinin MTA kullanımını bir STA kullanımı gibi davrandırmak. (STA kullanımı ileti kuyruğuna hizmet etmek zorundadır.) Kullanım win32 tanıtıcısında engelleniyorsa, Windows iletilerini eşzamanlı dağıtmak için MsgWaitForMultipleObjects işlevini çağırmak gerekir. DLL yol adları 127 karakterden çoksa hataya neden oluyor DLL'i 128 ya da daha fazla karakterle kaydederseniz, kayıt işlemi başarılı olur ama DLL'in desteklediği bir nesneye erişilirken CoCreateInstance ya da CoGetClassObject hataya döner (REGDB_E_CLASSNOTREG). IV. Windows NT'deki DCOM Farklılıkları -------------------------------------- DCOM95'in Güvenlik Yetenekleri DCOM95'in çekirdek işlevi ve arabirim programlama uygulaması (API) hem Windows 95'te, hem de Windows NT 4.0/5.0'da özdeştir. Buna karşın, işletilen sistemlerin güvenlik alt yapı farklılıkları nedeniyle güvenliğe bağlı bazı özellikler de farklıdır. Sistemin varsayılan güvenlik yerleşimlerini kullanmanız önerilir. Dosya sistemi paylaşımında "kullanıcı düzeyi" güvenlik yetkisi de gereklidir. (Aşağıya bkz.) Varsayılan güvenliği aşmak için kullanılabilecek hizmetler: * CoInitializeSecurity * CoQueryAuthenticationService * CoQueryProxyBlanket * CoSetProxyBlanket * CoQueryClientBlanket * IClientSecurity Interface * IServerSecurity Interface Windows NT'deki DCOM'un parçası olan bazı özellikler Windows 95'in güvenlik alt yapısındaki farklılıklar nedeniyle Windows 95'te olmayacaktır. Özel durumda, denetim listeleri erişimi (ACLs) oluşturma özelliği gibi Win32 API'deki güvenlik eksikliği işlevleri ve simge işlemi ve kullanımı birlikte çalıştıran güvenlik bağlamı eksikliği kadar AccessCheck işlevi de hesaba katılmalıdır. Windows 95 bu işlev ve yapıları özgün olarak desteklemez. Bu nedenle, DCOM95, Windows NT 4.0'daki kullanım ve simge işlemi üzerinde kurulu olan kimlik belirlemeyi (özellikle, IServerSecurity arabirimi üzerindeki CoImpersonateClient ve CoRevertToSelf yardım işlevlerini) desteklemez. Kimlik belirleme, dosya sistemi, diğer işleyişler ve ağ gibi sınırlı sistem kaynaklarına erişim denetimini yaygın olarak kullanır. Bu kaynaklar, Windows 95'te sınırlı değildir. DCOM95, programcılara erişim denetimli işlev ve ACL sağlamak için çeşitli yardım nesneleri sunar. Erişim denetimli işlev, kullanıcı tanımlı kaynaklar ya da veriler ve her iki sisteme de, uzak istemcilerle belirgin erişim denetimi sağlayabilir. Bu yardım nesneleri IAccessControl arabirimine yerleştirilmiş CLSID_DCOMAccessControl sistem nesnesinden elde edilir. Windows 95/98 ve Windows NT arasındaki taşınabilirliğin ilişkili olduğu her yerde IAccessControl programlı olarak güvenlik iznini yönetmelidir. CLSID_DCOMAccessControl nesnesi, tüm DCOM95 sürümlerinde ve Windows NT 4.0 SP2'de ve sonrakilerde vardır. IAccessControl ile ilgili ayrıntılı bilgi için bkz., SDK Platformu belgelendirmesi. Güvenlik Başlatma ve Erişimi DCOM95'te, başlatma sunucuları desteklenmediğinden, sunucu sınıfı kodunu başlatanı denetleme de desteklenmez. Sunucular/sınıflar uzak istemcileri kendilerine bağlamak ve hizmet vermek için zaten çalışmak zorundadır. DCOM95, bağlanmak için zaten çalışmakta olan sınıflar/sunucuları destekler. Erişim güvenliği \APPID\{.}\AccessPermissions kayıt düğmesi üzerinden desteklenir ve DCOMCNFG aracı üzerinden ya da kurma ya da sunucu kodu kurma sırasında ayarlanır. Kimlik denetimi olmayan kullanıcılar, kimlik denetimi olmayan bağlantıları (sabit yapılandırılmış araçlar ya da devingen olarak CoInitializeSecurity işlevi üzerinden) desteklemek için sınıfı yapılandırdıysanız sunucuyu kullanabileceklerdir. Aynı zamanda belirli hizmetlere hangi kullanıcı ya da grubun eriştiğini tanımlamak için isteğe bağlı ACS'ler oluşturabilirsiniz. Kimlik Düzeyleri DCOM95 istemcileri herhangi bir kimlik düzeyi kullanmadan DCOM çağırabilir. DCOM95 sunucu veya istemcileri geri çağrıları alırken, yalnızca RPC_C_AUTHN_LEVEL_NONE veya RPC_C_AUTHN_LEVEL_CONNECT kimlik düzeylerini kullanan DCOM çağrılarını kabul edebilir. Taşımalar DCOM95 yalnızca TCP bağlantısını destekler. TCP/IP iletişim kuralı sizde kurulu değilse DCOM95 makineler arası COM'u destekleyemeyecektir. Kayıt Ayarları Aşağıdaki kayıt düğmeleri DCOM95'in başlattığı HKEY_LOCAL_MACHINE\Software\Microsoft\OLE altında yer alır: EnableDCOM (varsayılan değer = "Y"). DCOM'un makinede çalışmasını sağlar. "N" ayarı olduğunda, makine, uzak makinelere bağlantıdan veya bunlardaki etkin nesnelerden korunur ve uzak makineler yerel makinedeki nesnelerle bağlantı kuramaz. Bu değer "Y" olarak ayarlandığında hem istemci olarak uzak nesneyle bağlantı kurabilir (aşağıda anlatıldığı gibi, EnableRemoteConnect='N' olduğunda), hem de tam bir istemci/sunucu bağlantısı yapabilirsiniz (aşağıda anlatıldığı gibi, EnableRemoteConnect='Y' olduğunda). EnableRemoteConnect (varsayılan değer = "N"). Uzak istemcilere COM sunucuları sağlar. Bu değer "Y" olduğunda yerel nesnelerdeki arabirim başvuruları uzak istemcilere geçecek ve uzak istemciler de çalışan nesneye bağlantı sağlayacaktır. Bu değer "N" olduğundaysa makine uzak nesnelere bağlanabilecek ama sunucu gibi davranamayacaktır: Makine çalışan nesnelerin bağlantısından korunuyor. Ek olarak, aşağıdaki kayıt düğmesi HKEY_CLASSES_ROOT\CLSID altındadır: {bdc67890-4fc0-11d0-a805-00aa006d2ea4}\InstalledVersion. "a,b,c,d" biçiminde DCOM95'in sürüm numaralarını içeriyor. Bu değer, DCOM95 yüklenip yüklenmediğini belirlemek için Internet Bileşeni Yükleme tarafından kullanılabilir. Windows 95'i uzak ana sunucu olarak kullanma Aşağıdaki uyarılar gözardı edilmeden Windows 95 uzak ana sunucu olabilir: * Başlatma yeteneği yoktur. İstemciye bağlanmak için sunucu işlemlerinin çalışıyor olması gerekir. * Güvenlik bağlantıları gerekiyorsa, sunucunun (geri çağrı ve istemci koşullarında), güvenlik sağlayıcısı ayarı adıyla kullanıcı düzeyi erişim denetimi olması gerekir. * "EnableRemoteConnect" kayıt değeri "Y" olarak ayarlanmalıdır. Windows NT Etki Alanı güvenlik sağlayıcısı kullanılarak DCOM95 yaygın olarak sınanmıştır. Başka güvenlik sağlayıcıları kullanırken sorunlarla karşılaşabilirsiniz. Kullanıcı düzeyi erişim denetimi başlatmak için Filesec.vxd kurulu olmalıdır. Bu dosya Windows 95'e genellikle dosya kurulurken veya paylaşım yazdırılırken kurulur. Kullanıcı düzeyi erişim denetimi yapabilmek için, Ağ iletişim kutusundan Denetim Masası'nı açın, Erişim Denetimi sekmesini tıklayın ve güvenlik etki alanı adınızı girin. Bu, bilgisayarınızdan ağda paylaştığınız dizinlerin yolunu etkileyecektir. Ayrıntılar için çevrimiçi belgelendirmelere bakın. Ağ yapınızın denetim masasında Erişim Denetimi yoksa bir ağ istemci hizmeti kurmanız gerekecektir. Ağ istemcisi yükleme bilgileri için yardım dizinine giriş ayarı yaparken Ağ istemcilerini tıklatın. V. Yeniden Dağılım ------------------ DCOM95'in yeniden dağılımı bilgileri için son kullanıcı lisans anlaşmasındaki (license.txt) yeniden dağılım yönergelerini inceleyin. VI. Destek & Kaynaklar ---------------------- Microsoft Teknik Destek Hizmetleri En son güncelleştirme ve teknik bilgileri, ürün CD ya da disketlerindeki benioku dosyasında bulabilirsiniz. Eğer bu dosyada aradığınız sorunun yanıtını bulamazsanız, Microsoft Masaüstü Uygulamaları ve Kişisel İşletim Sistemlerinin desteğini Microsoft Destek Hattı (212 258 96 66) aracılığı ile alabilirsiniz. Kayıt kartınız ile Microsoft'a göndereceğiniz bilgiler kayıtlı kullanıcı veri tabanımıza eklenecek ve Microsoft Destek Hattından ücretsiz olarak yararlanabileceksiniz. Not: Microsoft Türkiye Destek Hizmetleri, ücretsiz ya da düşük maliyetli elektronik bilgi hizmetlerinden (haftanın 7 günü 24 saat kullanımda) yıllık destek planları ve CD-ROM abone programlarına kadar çeşitli seçenekler sunar. Ayrıntılı bilgi için Yardım içinde Teknik Destek kısmına bakınız. Microsoft destek hizmetleri o andaki geçerli fiyatlar, koşullar ve sözleşmelere bağlıdır ve duyurulmaksızın değiştirilebilir. Destek Hizmetleri seçenekleri: Microsoft Teknik Destek – Internet Sayfaları Microsoft Support Online ( İngilizce) internet sayfalarına http://support.microsoft.com/support/ adresinden ulaşabilirsiniz. Microsoft Support Online aradığınız cevapları bulmanızı kolaylaştırıyor: Ürün adını seçin ve sorunuzu yazın. Bu sayfalarda kullanılan dil İngilizce olduğu için sorularınızı İngilizce olarak yazmanız gerekir. Find simgesini tıklattığınızda Support Online, en son Microsoft teknolojilerini kullanarak Microsoft Teknik Destek bilgi veri tabanını araştırır ve aradığınız cevaplara ulaşmanızı sağlar. Teknik bir sorunuz olduğunda Support Online Internet sayfalarına http://support.microsoft.com/support adresinden bir göz atın ve aradığınız yanıtları bulmanın ne kadar kolay olduğunu keşfedin. Internet üzerindeki Destek hizmetleri için http://www.microsoft.com/support/ ve Türkçe sayfalar için http://www.microsoft.com/turkey/destek/ adresine gidin. Diğer Destek Hizmetleri Internet’te bulunan kaynaklara ek olarak Microsoft Teknik Destek aşağıda listelenen diğer teknik bilgi kaynaklarını sağlar. Microsoft TechNet: İş yerinizdeki ağ yönetiminden sorumlu ya da kullanıcılara destek vermekle görevli bir bilişim teknolojisi veya Destek masası çalışanıysanız, TechNet ile şirket gereksinimlerinize hızlı çözümler üretebilirsiniz. TechNet, Microsoft ürünlerini inceleme, kullanma ve destek alanında kullanabileceğiniz geniş kapsamlı bir kaynaktır. Daha fazla bilgi ve Microsoft TechNet CD’lerine üye olmak için http://www.microsoft.com/turkey/ sayfalarına bakınız veya Microsoft Türkiye ofisini arayınız. Microsoft Developer Network Library (MSDN): Internet veya Microsoft Windows işletim sistemleri için uygulama geliştiriyorsanız ya da Microsoft ürünlerini ürün geliştirme amaçlı olarak kullanıyorsanız, MSDN CD’lerine üye olarak üretkenliğinizi artırabilirsiniz. MSDN; SDK, DDK, Windows, BackOffice, Microsoft Office Visual Tools ile uygulama geliştirenler için teknik programlama bilgisi sağlayan Microsoft’un resmi kaynağıdır. Daha fazla bilgi ve MSDN CD’lerine üye olmak için http://www.microsoft.com/turkey/ sayfalarına bakınız veya Microsoft Türkiye ofisini arayınız. Microsoft Download Service (MSDL): MSDL üzerindeki çeşitli teknik bilgilere, örnek programlara, aygıt sürücülerine, yazılım güncelleştirme ve eklerine, programlama yardımlarına doğrudan modem bağlantısıyla erişim sağlar. Daha fazla bilgi için http://www.microsoft.com/turkey/ sayfalarına bakınız veya Microsoft Türkiye ofisini arayınız. Microsoft Teknik Destek mühendislerinden doğrudan yardım Standart Ücretsiz Destek Eğer teknik sorularınız için aradığınız yanıtları bulamazsanız, Microsoft Masaüstü Uygulamaları ve Kişisel İşletim Sistemlerinin desteğini Microsoft Destek Hattı (212 258 96 66) aracılığı ile alabilirsiniz. Tatil günleri dışında Pazartesi - Cuma günleri 9:30 - 17.00 saatleri arasında Microsoft Destek Hattı mühendisleri tarafından ücretsiz destek hizmeti sağlanır. Microsoft Türkiye Destek Hattı: Telefon: 90 (212) 258 96 66 Faks: 90 (212) 258 95 99 BBS: 90 (212) 227 93 90 Faks Servisi: 90 (212) 227 93 80 veya (81, 82, 83) Diğer Destek Seçenekleri Yetkili Destek Merkezleri Microsoft Uygulama Geliştirme ve Backoffice ürünlerinin desteğini Microsoft Yetkili Destek Merkezleri aracılığı ile ücretli olarak alabilirsiniz. Microsoft Yetkili Destek Merkezlerinin her biri, değişik ürün ve/veya ürün gruplarında destek hizmeti vermektedir. Türkiye’de hizmet veren Microsoft Yetkili Destek Merkezleri hakkında daha fazla bilgi için http://www.microsoft.com/turkey/destek/ sayfalarına bakınız veya Microsoft Türkiye ofisini arayınız. Microsoft Çözüm Ortakları Çözüm Ortakları, Microsoft teknolojilerini uygulayarak kullanıcılara kaliteli hizmet ve çözümler sağlamak amacıyla Microsoft ile işbirliği içinde olan kuruluşlardır. Bu firmalar kullanıcılara, sistem entegrasyonu, danışmanlık, özel yazılım geliştirme, dikey/yatay sektörlere yönelik çözümler, anahtar teslimi proje geliştirme, eğitim ve teknik destek gibi çeşitli artı-değer hizmetler sağlamaktadırlar. Daha fazla bilgi için http://www.microsoft.com/turkey/ sayfalarına bakınız veya Microsoft Türkiye ofisini arayınız. Microsoft Kurumsal Teknik Destek Microsoft Corporation, büyük ve kapsamlı projeler için gerek duyulan teknik desteği analiz etmiş ve bu gereksinimi en iyi şeklide karşılayacak Premier Desteği sizlere sunmuştur. Türkiye’de, projelerinize destek vermek ve hedeflerinizi yakalamanızda sizlerle beraber çalışmak üzere Kurumsal Teknik Destek ekibi hizmetinizdedir. Destekleyen bir yaklaşım ile risklerinizi en aza indirmek, sorunları oluşmadan çözebilmek, soru ve sorunlarınıza en kısa zamanda çözüm sunabilmek amacı ile Premier Destek paketi sunulmaktadır. Daha fazla bilgi için Microsoft Türkiye ofisini arayınız. Microsoft Türkiye Telefon: 90 (212) 258 59 98 Faks: 90 (212) 258 59 54 VII. Dosya Listesi ------------------ Bu tablo DCOM95 ile dağıtılan sürüm numaralarını listeler. oleaut32.dll 2.30.4275 secur32.dll 4.10.1999 compobj.dll 2.3.2 ole2.dll 2.3.2 ole32.dll 4.71.2900 olecnv32.dll 4.71.2900 olethk32.dll 4.71.2900 rpcltc1.dll 4.71.2900 rpcltc5.dll 4.71.2900 rpcltccm.dll 4.71.2900 rpclts5.dll 4.71.2900 rpcltscm.dll 4.71.2900 rpcns4.dll 4.71.2900 rpcrt4.dll 4.71.2900 rpcss.exe 4.71.2900 storage.dll 2.3.2 stdole2.tlb 2.30.4275 stdole32.tlb 2.1 imagehlp.dll 4.00 dllhost.exe 4.71.2900 comcat.dll 5.0 iprop.dll 4.00 rpcmqcl.dll 4.71.2900 rpcmqsvr.dll 4.71.2900 olepro32.dll 5.0.4275 asycfilt.dll 2.30.4275 dcom2w98.dll 2.10.35.35 Bu tablo DCM95CFG ile dağıtılan sürüm numaralarını listeler. dcomcnfg.exe 5.00.1603.0 ciscnfg.exe 4.71.2618